package com.yfp.client.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yfp.client.domain.ClientHealthLog;
import com.yfp.client.domain.dto.ClientHealthLogDTO;
import com.yfp.client.domain.vo.ClientHealthLogListVO;
import com.yfp.client.domain.vo.ClientHealthLogStatisticVO;
import com.yfp.client.domain.vo.ClientHealthLogVO;

import java.util.Date;
import java.util.List;

/**
 *
 * @description 针对表【client_health_log(客户健康餐饮记录)】的数据库操作Service
 * @createDate 2025-02-11 17:26:41
 */
public interface ClientHealthLogService extends IService<ClientHealthLog> {

    /**
     * 热量记录-查询热量记录统计
     * 查询今日记录统计
     *
     * @param startTime
     * @param endTime
     * @return
     */
    ClientHealthLogStatisticVO getClientHealthLogStatistic(Date startTime, Date endTime);

    /**
     * 今日记录-查询记录列表
     *
     * @param startTime
     * @param endTime
     * @return
     */
    List<ClientHealthLogListVO> getClientHealthLogList(Date startTime, Date endTime);

    /**
     * 今日记录-查询记录详情
     *
     * @param id
     * @return
     */
    ClientHealthLogVO getClientHealthLogById(Long id);

    /**
     * 今日记录-修改记录状态
     *
     * @param clientHealthLogDTO
     */
    void updateClientHealthLogStatus(ClientHealthLogDTO clientHealthLogDTO);

    /**
     * 今日记录-修改记录克重
     *
     * @param clientHealthLogDTO
     */
    void updateClientHealthLogWeight(ClientHealthLogDTO clientHealthLogDTO);

    /**
     * 今日记录-估重-根据克重计算
     *
     * @param clientHealthLogDTO
     * @return
     */
    ClientHealthLogVO estimateWeightByGram(ClientHealthLogDTO clientHealthLogDTO);
}
